/**
 * Created With IntelliJ IDEA
 * Description:牛客网:JZ65 不用加减乘除做加法
 * <a href="https://www.nowcoder.com/practice/59ac416b4b944300b617d4f7f111b215?tpId=13&tqId=11201&ru=/exam/oj">...</a>
 * User: DELL
 * Data: 2023-04-20
 * Time: 12:54
 */

//本题就是主要利用 & 和 ^ 的特性,利用 & 来求出进位
//利用 ^ 来求出相加后还为 1 的位
public class Solution {
    public int Add(int num1,int num2) {
        int temp1 = (num1 & num2) << 1; //进位
        int temp2 = num1 ^ num2;
        while (temp1 != 0) {
            int temp = (temp1 & temp2) << 1;
            temp2 = temp1 ^ temp2;
            temp1 = temp;
        }
        return temp2;
    }
}